function deblurred_image = lucy_richardson(observed, psf, iterations)
    % LUCY_RICHARDSON 使用 Lucy-Richardson 算法进行图像去模糊
    % observed: 输入模糊图像
    % psf: 点扩散函数 (PSF)
    % iterations: 迭代次数

    % 避免除零错误，设置一个小值
    epsilon = 1e-7;
    % 初始化
    estimate = ones(size(observed)) * 0.5; % 初始估计图像
    psf_mirror = rot90(psf, 2); % 计算 PSF 的镜像

    for i = 1:iterations
        % 第一步：与 PSF 卷积
        estimate_conv = conv2(estimate, psf, 'same');
        % 第二步：计算相对残差
        relative_blur = observed ./ max(estimate_conv, epsilon);
        % 第三步：与 PSF 的镜像卷积
        estimate_update = conv2(relative_blur, psf_mirror, 'same');
        % 更新估计
        estimate = estimate .* estimate_update;
    end

    deblurred_image = estimate;
end